package com.morehair.bean.vo.wx;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * Description:
 * Date: 2021/6/8
 * Time: 22:18
 * author: zhang wei
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class HomeIndexVo {

    private List<NewGoodsList> newGoodsList;

    private List<CouponList> couponList;

    private List<Channel> channel;

    private List<GrouponList> grouponList;

    private List<Banner> banner;

    private List<BrandList> brandList;

    private List<HotGoodsList> hotGoodsList;

    private List<TopicList> topicList;

    private List<FloorGoodsList> floorGoodsList;

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class NewGoodsList {
        private long id;
        private String name;
        private String brief;
        private String picUrl;
        private Boolean isNew;
        private Boolean isHot;
        private BigDecimal counterPrice;
        private BigDecimal retailPrice;

    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class CouponList {
        private Integer id;
        private String name;
        private String desc;
        private String tag;
        private BigDecimal discount;
        private BigDecimal min;
        private Short days;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Channel {
        private Integer id;
        private String name;
        private String iconUrl;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class GrouponList {
        private Double groupon_price;
        private int groupon_member;
        private GoodsOfGrouponVo goods;

    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Banner {
        private int id;
        private String name;
        private String link;
        private String url;
        private Byte position;
        private String content;
        private Boolean enabled;
        private Date addTime;
        private Date updateTime;
        private Boolean deleted;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class BrandList {
        private Integer id;
        private String name;
        private String desc;
        private String picUrl;
        private BigDecimal floorPrice;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class HotGoodsList {
        private Integer id;
        private String name;
        private String brief;
        private String picUrl;
        private Boolean isNew;
        private Boolean isHot;
        private BigDecimal counterPrice;
        private BigDecimal retailPrice;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class TopicList {
        private int id;
        private String title;
        private String subtitle;
        private BigDecimal price;
        private String readCount;
        private String picUrl;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class FloorGoodsList {
        private String name;
        private List<GoodsOfFloorVo> goodsList;
        private Integer id;
    }
}
